package com.framework.service;

import com.baomidou.mybatisplus.service.IService;
import com.framework.entity.sys.SysTreeAgent;
import com.framework.view.AgentView;

import java.util.List;

/**
 * 功能描述: 代理商关联接口
 * @author ck
 * @date 2018/8/28 19:46
 */
public interface TreeAgentService extends IService<SysTreeAgent> {


	/**
	 * 添加代理商关联信息数据
	 * @param agentId 代理商id
	 */
	void insertTreeAgent(Long agentId);

	/**
	 * 循环递归方式插入数据
	 * @param agentId 代理商id
	 * @param ownAgentId 自己的id,第一次插入的数据
	 */
	void insertCycleAgent(Long agentId, Long ownAgentId);

	/**
	 * 查询下级代理商列表信息
	 * @param token
	 * @param grade 等级高低
	 * @return
	 */
	List<AgentView> querySubAgentList(String token,String grade);

	/**
	 * 判断代理商是否是自己的名下
	 * @param agentId
	 * @param subAgentId
	 * @return
	 */
	boolean isAgentOwn(Long agentId,Long subAgentId);


	/**
	 * 查询所有上级合伙人
	 * @param agentId
	 * @param base
	 * @return
	 */
	List<Long> queryPidList(Long agentId, Long base);

	/**
	 * 查询下级合伙人
	 * @param token
	 * @return
	 */
	List<AgentView> querySubAgent(String token);
}

